package com.designmodel.factorymodel.simplefactory;

import com.designmodel.factorymodel.demo.computer.AsusComputer;
import com.designmodel.factorymodel.demo.computer.Computer;
import com.designmodel.factorymodel.demo.computer.DellComputer;
import com.designmodel.factorymodel.demo.computer.LenovoComputer;

/**
 * Created by   简单工厂
 *  简单工厂实际不能算作一种设计模式，它引入了创建者的概念，将实例化的代码从应用代码中抽离，在创建者类的静态方法中只处理创建对象的细节，后续创建的实例如需改变，只需改造创建者类即可，
 *  但由于使用静态方法来获取对象，使其不能在运行期间通过不同方式去动态改变创建行为，因此存在一定局限性。
 * @author touni
 * @date 2019/4/2
 * @time 15:16
 */
public class MainDemo {

    public static Computer createComputer(String type){
        if ("asus".equalsIgnoreCase(type)){
            return new AsusComputer();
        }else if ("dell".equalsIgnoreCase(type)){
            return new DellComputer();
        }else if ("lenovo".equalsIgnoreCase(type)){
            return new LenovoComputer();
        }
        return null;
    }



    public static void main(String[] args) {
        Computer asus = createComputer("asus");
        asus.getname();


    }
}
